def odd_even(nums):
    """
    将整数列表中的奇数和偶数分别存储到两个不同的列表中

    参数：
    - nums: 要检查的整数列表

    返回值：
    - 一个元组，包含两个列表，第一个列表存储奇数，第二个列表存储偶数
    """
    # 创建两个空列表，分别用于存储奇数和偶数
    odds = []
    evens = []

    # 遍历整数列表中的每个元素
    for num in nums:
        # 如果元素是偶数，将其添加到 evens 列表中
        if num % 2 == 0:
            evens.append(num)
        # 如果元素是奇数，将其添加到 odds 列表中
        else:
            odds.append(num)

    # 返回存储奇数和偶数的列表组成的元组
    return odds, evens


def sort_odd_even(nums):
    """
    将整数列表中的奇数和偶数分别存储到两个不同的列表中，然后将偶数列表中的元素按照顺序填充到原列表的偶数位置，将奇数列表中的元素按照顺序填充到原列表的奇数位置

    参数：
    - nums: 要检查的整数列表

    返回值：
    - 排序后的整数列表
    """
    # 调用 odd_even 函数，将整数列表中的奇数和偶数分别存储到两个不同的列表中
    odds, evens = odd_even(nums)

    # 遍历整数列表中的每个元素
    for i in range(len(nums)):
        # 如果当前位置是偶数，将 evens 列表中的最后一个元素弹出并赋值给当前位置
        if i % 2 == 0:
            nums[i] = evens.pop()
        # 如果当前位置是奇数，将 odds 列表中的最后一个元素弹出并赋值给当前位置
        else:
            nums[i] = odds.pop()

    # 返回排序后的整数列表
    return nums


print(sort_odd_even([1, 3, 2, 2, 1, 4, 5, 5, 6, 8]))
print(sort_odd_even([2,3]))